<?php

// [ 管理员 ]

namespace app\common\validate;
use think\Validate;

class Manager extends Validate
{
    // 验证规则
    protected $rule = [
        'id'       => 'require|integer|max:11',
        'username' => 'require|length:4,32',
        'password' => 'require|length:4,16',
        'passport' => 'require|length:4,16',
        'cofimpwd' => 'require|length:4,16|confirm:password',
        'status'   => 'require|integer|in:0,1',
    ];

    // 错误提示
    protected $message = [
        'id.require'       => '管理员主键必须',
        'id.integer'       => '管理员主键必须为数字',
        'id.max'           => '管理员主键最大长度[11]',
        
        'username.require' => '用户名必须',
        'username.length'  => '用户名长度[4~32]',

        'password.require' => '密码必须',
        'password.length'  => '密码长度[4~16]',

        'passport.require' => '原密码必须',
        'passport.length'  => '原密码长度[4~16]',

        'cofimpwd.require' => '确认密码必须',
        'cofimpwd.length'  => '确认密码长度[4~16]',
        'cofimpwd.confirm' => '确认密码与密码不相同',

        'status.require'   => '状态必须',
        'status.integer'   => '状态必须为数字',
        'status.in'        => '状态取值范围[0|1]',
    ];
    
    // 验证场景
    protected $scene = [
        // 管理员登录
        'login'     => ['username','password'],
        // 管理员修改密码
        'pwdUpdate' => ['passport','password','cofimpwd'],
        // 重置管理员密码（超级管理员）
        'pwdReset'  => ['id','password','cofimpwd'],
        // [锁定|解锁]管理员（超级管理员）
        'lock'      => ['id'],
    ];
}